#include "mex.h"
#include <math.h>

static void etaietaj(double p[], double n[], int Npath, int betaK)
{
    int i,j,k,counter=0,column=betaK*(betaK-1)/2;
        
     //     for ii=1:betaK-1
    //  for jj=ii+1:betaK
   //       etaeta(:,counter)=eta(:,ii).*eta(:,jj);
  //       counter=counter+1;
 //    end
//end
//     for(i=0;i<Npath;i++)
//         for (j=0;j<betaK;j++)
//             p[i*Npath+j]=Npath;
   

   
    {
        
        {
            for (j=0; j<betaK-1; j++)
            
                for (i=j+1; i<betaK; i++)
                { 
                    for(k=0;k<Npath;k++)
                        p[counter*Npath+k]=n[j*Npath+k]*n[i*Npath+k];
                    counter++;
                }
            
        }
    }


}

//  static void variation(long Npaths)
//  {
//      int i;
//      for (i=0,i<Npaths,i++)
//
//  }


void mexFunction(int nlhs,mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
        double *p, *n;
        int Npath,betaK;

        Npath=mxGetM(prhs[0]); betaK=mxGetN(prhs[0]);
        plhs[0]=mxCreateDoubleMatrix(Npath,betaK*(betaK-1)/2,mxREAL);
        p=mxGetPr(plhs[0]);
        n=mxGetPr(prhs[0]);

        etaietaj(p,n,Npath,betaK);


}
